package org.jeecg.modules.demo.ch.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.UnsupportedEncodingException;

/**
 * @Description: 模具设计BOM列表
 * @Author: jeecg-boot
 * @Date:   2022-09-02
 * @Version: V1.0
 */
@Data
@ApiModel(value="ch_design_bom_Page对象", description="模具设计BOM")
public class ChDesignBomPage {

	private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
	@ApiModelProperty(value = "主键")
	private java.lang.String id;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
	private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
	private java.util.Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
	private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
	private java.util.Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
	private java.lang.String sysOrgCode;
	/**序号*/
	@Excel(name = "序号", width = 15)
	@ApiModelProperty(value = "序号")
	private java.lang.Integer serialNumber;
	/**零件名*/
	@Excel(name = "零件名", width = 15)
	@ApiModelProperty(value = "零件名")
	private java.lang.String partName;
	/**中文名*/
	@Excel(name = "中文名", width = 15)
	@ApiModelProperty(value = "中文名")
	private java.lang.String chineseName;
	/**英文名*/
	@Excel(name = "英文名", width = 15)
	@ApiModelProperty(value = "英文名")
	private java.lang.String englishName;
	/**零件规格*/
	@Excel(name = "零件规格", width = 15)
	@ApiModelProperty(value = "零件规格")
	private java.lang.String partSpecification;
	/**材料*/
	@Excel(name = "材料", width = 15)
	@ApiModelProperty(value = "材料")
	private java.lang.String material;
	/**数量*/
	@Excel(name = "数量", width = 15)
	@ApiModelProperty(value = "数量")
	private java.lang.Integer number;
	/**备注*/
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
	private java.lang.String remark;
	/**bom状态（1.新增2.变更3.取消）*/
	@Excel(name = "bom状态（1.新增2.变更3.取消）", width = 15)
	@ApiModelProperty(value = "bom状态（1.新增2.变更3.取消）")
	private java.lang.Integer bomStatus;
	/**转益模的状态（1.未转2.已转）*/
	@Excel(name = "转益模的状态（1.未转2.已转）", width = 15)
	@ApiModelProperty(value = "转益模的状态（1.未转2.已转）")
	private java.lang.Integer transferBenefitModelStatus;
	/**自定义字段1*/
	@Excel(name = "自定义字段1", width = 15)
	private transient java.lang.String customFields1String;

	private byte[] customFields1;

	public byte[] getCustomFields1(){
		if(customFields1String==null){
			return null;
		}
		try {
			return customFields1String.getBytes("UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return null;
	}

	public String getCustomFields1String(){
		if(customFields1==null || customFields1.length==0){
			return "";
		}
		try {
			return new String(customFields1,"UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "";
	}
	/**自定义字段2*/
	@Excel(name = "自定义字段2", width = 15)
	@ApiModelProperty(value = "自定义字段2")
	private java.lang.String customFields2;
	/**自定义字段3*/
	@Excel(name = "自定义字段3", width = 15)
	@ApiModelProperty(value = "自定义字段3")
	private java.lang.String customFields3;
	/**自定义字段4*/
	@Excel(name = "自定义字段4", width = 15)
	@ApiModelProperty(value = "自定义字段4")
	private java.lang.String customFields4;
	/**自定义字段5*/
	@Excel(name = "自定义字段5", width = 15)
	@ApiModelProperty(value = "自定义字段5")
	private java.lang.String customFields5;
	/**模具设计BOM主表id*/
	@ApiModelProperty(value = "模具设计BOM主表id")
	private java.lang.String chDesignBomMasterId;

	/**------------------以下为扩展字段 主表的字段-----------------------------*/
	/**模具编码*/
	@Excel(name = "模具编码", width = 15)
	@ApiModelProperty(value = "模具编码")
    private String moldCode;
	/**客户*/
	@Excel(name = "客户", width = 15)
	@ApiModelProperty(value = "客户")
    private String customer;
	/**产品编号*/
	@Excel(name = "产品编号", width = 15)
	@ApiModelProperty(value = "产品编号")
    private String productNo;
	/**版本*/
	@Excel(name = "版本", width = 15)
	@ApiModelProperty(value = "版本")
    private String version;


}
